<?php
//Ultima verificacion: 12-10-2014 ; 21-11-2014 ; 20-02-2015
class M_tiempoasignableasignatura extends CI_Model {
	function _construct(){
		//Call the Model constructor
		parent::_construct();
	}
	
	//Este metodo se utiliza cuando queremos obtener los tiempos asignables activos de una asignatura.
	//Se utiliza al importar ciclos lectivos para devolver las restricciones de una asignatura.
	function buscarActivos($restriccion=null){
		$consulta = $this->db->query("SELECT tiempoasignableasignatura.*, 
											DATE_FORMAT(tiempoasignableasignatura.fechaCreacion,'%d/%m/%Y %H:%i:%s') AS fechaCreacionFormateada, 
											DATE_FORMAT(tiempoasignableasignatura.fechaUltimaModificacion,'%d/%m/%Y %H:%i:%s') AS fechaUltimaModificacionFormateada
									  FROM tiempoasignableasignatura
									  WHERE	tiempoasignableasignatura.estado=1 $restriccion
									  ORDER BY idTiempoAsignable");
		return($consulta);
	}
		
	//Este metodo se utiliza para crear un un tiempo asignable
	function crear($idAsignatura=null, $idTurno=null, $dia=null, $periodo=null, $disponibilidad=null, $estado=null, $idCreador=null){
		$this->db->query("INSERT INTO `tiempoasignableasignatura` (`idTiempoAsignable`,`idTurno`,`idAsignatura`,`dia`,`periodo`,`disponibilidad`,`fechaCreacion`,`estado`,`idCreador`) VALUES 
														          (NULL,".$this->db->escape($idTurno).",".$this->db->escape($idAsignatura).",".$this->db->escape($dia).",".$this->db->escape($periodo).",".$this->db->escape($disponibilidad).",now(),".$this->db->escape($estado).",".$this->db->escape($idCreador).")");
		return($this->db->affected_rows());
	}
	
	//Este metodo se utiliza cuando queremos devolver un tiempo asignable segun la asignatura, turno, dia y periodo(modulo)
	function get2($idAsignatura=null, $idTurno=null, $dia=null, $periodo=null){
		$consulta = $this->db->query("SELECT tiempoasignableasignatura.*
									  FROM tiempoasignableasignatura
									  WHERE tiempoasignableasignatura.estado<>-1 AND 
											tiempoasignableasignatura.idAsignatura=".$this->db->escape($idAsignatura)." AND 
											tiempoasignableasignatura.idTurno=".$this->db->escape($idTurno)." AND 
											tiempoasignableasignatura.dia=".$this->db->escape($dia)." AND
											tiempoasignableasignatura.periodo=".$this->db->escape($periodo)."
									  LIMIT 1");
		return($consulta);
	}
	
	//Este metodo se utiliza para modificar un tiempo asignable
	function modificar($idTiempoAsignable=null, $disponibilidad=null, $estado=null){
		$consulta = $this->db->query("UPDATE `tiempoasignableasignatura`
									 SET `disponibilidad` = ". $this->db->escape($disponibilidad) .",
										 `estado` = ". $this->db->escape($estado) ."
							         WHERE `tiempoasignableasignatura`.`idTiempoAsignable` = " . $this->db->escape($idTiempoAsignable) . " LIMIT 1");
		return($this->db->affected_rows());
	}
}
?>